<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Promise-then方法</title>
</head>
<body>
    <script>
        // 创建 Promise 对象
        const p = new Promise((resolve, reject) => {
            setTimeout(() => {
                resolve(`用户数据`);
                // reject(`出错了`);
            }, 1000)
        })

        // 调用 then 方法   then 方法返回的是 Promise 对象，对象状态由回调函数的执行结果决定
        // 1.如果回调函数中返回的结果是 非 Promise 类型的数据，状态为成功，返回值为对象的成功值
        const result = p.then(value => {
            console.log(value);
            // 1.非 Promise 类型的数据
            // return `I LOVE YOU`;

            // 2.Promise 类型的数据
            // return new Promise((resolve1, reject1) => {
            //     reject1(`ok`)
            // })

            // 3.抛出错误
            throw new Error(`出错了`)
        }, reason => {
            console.error(reason);
        })

        console.log(result);

        // 链式调用
        p.then(value => {

        }, reason => {

        }).then(value => {

        }, reason => {

        })
    </script>
</body>
</html>